Resource allocation for ofdma systems with half-duplex relay(s) and corresponding transmission protocol

ABSTRACT

A transmission protocol is provided for wireless communications in an OFDMA system that uses a rateless code and techniques are provided for dynamically adjusting the subcarrier resources allocated to an OFDMA relay node so that the relay is used at the right time according to the instantaneous channel state information (CSI). As a result, a higher throughput is achieved between source and destination nodes based on a low complexity algorithm for determining when relay assistance is helpful for completing a transmission between the source and destination nodes.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of co-pending U.S. patent applicationSer. No. 12/020,781, filed on Jan. 28, 2008, entitled “RESOURCEALLOCATION FOR OFDMA SYSTEMS WITH HALF-DUPLEX RELAY(S) AND CORRESPONDINGTRANSMISSION PROTOCOL”. The entireties of all prior-filed applicationslisted herein are hereby incorporated by reference.

TECHNICAL FIELD

The present disclosure relates generally to techniques and atransmission protocol for orthogonal frequency-division multiple-access(OFDMA) wireless communications systems that distribute the transmissionof message(s) from a source node to a destination node using one or morehalf-duplex relay nodes.

BACKGROUND

In the area of wireless communication systems, the notion of using arelay channel for distributing a transmission from a source node to adestination node is a conventional idea, introduced as early as the1970s; however, due to continued advancements in the capabilities ofwireless systems over the decades, the notion has received renewedattention.

In this regard, cooperative communication through relay nodes has beenproven to enhance the capacity of the communications channel, and hasenabled a new architecture called virtual Multiple Inputs, MultipleOutputs (MIMO) arrays. In addition, data transmission through relaynetworks in wireless communication systems has been observed to havehigh spectral efficiency. As a result, for instance, the IEEE 802.11Task Group and 802.16 Task Group are collaborating with respect to thestandardization of certain relay network protocols.

However, there are number of limitations of current architectures forwhich improvement is generally desired. For instance, someconventionally known relay systems have assumed a full duplex relay.With a full duplex relay, the relay node is assumed to be able totransmit and receive at the same time and on the same channel.

Yet, such a full duplex relay system with perfect echo cancelationproves difficult to implement in practice in real systems. Instead, withreal systems, sometimes orthogonal channels are used to isolate thetransmitted and received signals at the relay node. Under suchcircumstances of orthogonal, or independent, transmit and receivechannels, the relay node is referred to as a half duplex relay. Suchhalf duplex relays have been considered in the context of frequencydivision, time division, code division and general orthogonal division.In particular, to exploit the frequency selectivity of broadbandwireless systems, orthogonal frequency-division multiple-access (OFDMA)systems have been proposed for half duplex relay networks.

The problem remains, however, as a result of the constraints introducedby a half duplex relay node relative to a full duplex relay node, theuse of the half duplex relay node may enhance or degrade the systemthroughput depending on the instantaneous channel states between thesource and relay, the relay and destination as well as the source anddestination. This is because when a half duplex relay node is used totransmit the message to the destination, the source node cannot transmiton the same time/frequency slot and therefore, there is overhead, or acost, associated with using the relay.

As a consequence, if the relay is used at the wrong time, e.g., when thechannel state of the relay-destination pair is considerably worse thanthe channel state of the source-destination pair, there is an observeddegradation in the overall system throughput. Hence, the ability todynamically adjust subcarrier resources allocated to an OFDMA halfduplex relay node so that the relay is used only at the right time isdesirable.

Conventional approaches that have sought a solution to this problem havedynamically scheduled the usage of the relay node in a centralizedmanner in which full knowledge of the channel states between any twonodes in the network is required. However, perfect knowledge of thechannel states at various nodes is very difficult to obtain in adistributed network. In addition, superposition coding is assumed at thesource and relay node, which is not scalable as the number of nodes inthe relay networks increases in terms of both the processing complexityand the signaling overhead involved in collecting all the channel stateinformation (CSI) for the nodes. Furthermore, with such conventionalapproaches, the presence or absence of relays is not transparent to thesource node.

Accordingly, there exists a need for improved techniques for OFDMAwireless communications systems to transmit message(s) from a sourcenode to a destination node by scheduling resources to one or morehalf-duplex relay nodes in an optimal manner.

SUMMARY

The following presents a simplified summary of the claimed subjectmatter in order to provide a basic understanding of some aspects of theclaimed subject matter. This summary is not an extensive overview of theclaimed subject matter. It is intended to neither identify key orcritical elements of the claimed subject matter nor delineate the scopeof the claimed subject matter. Its sole purpose is to present someconcepts of the claimed subject matter in a simplified form as a preludeto the more detailed description that is presented later.

A transmission protocol is provided for wireless communications in anOFDMA system that uses a rateless code and techniques are provided fordynamically adjusting the subcarrier resources allocated to an OFDMArelay node so that the relay is used at the right time according to theinstantaneous channel state information (CSI). As a result, a higherthroughput is achieved between source and destination nodes based on alow complexity algorithm for determining when relay assistance ishelpful for completing a transmission between the source and destinationnodes.

BRIEF DESCRIPTION OF THE DRAWINGS

Various non-limiting embodiments are further described with reference tothe accompanying drawings in which:

FIG. 1 is a high-level flow diagram illustrating exemplary, non-limitingcommunications for a relay node in a wireless communications system;

FIG. 2 is a high-level flow diagram illustrating exemplary, non-limitingcommunications for a destination node in a wireless communicationssystem;

FIG. 3 is a high-level block diagram of a relay channel model for awireless communication system;

FIG. 4 is a block diagram illustrating relationships among atransmission event, a packet transmission and fading slot;

FIG. 5 illustrates exemplary, non-limiting aspects of sourcecommunications in accordance with a transmission protocol provided invarious embodiments;

FIGS. 6 and 7 illustrate exemplary, non-limiting aspects of relaycommunications in accordance with a transmission protocol provided invarious embodiments;

FIG. 8 illustrates exemplary, non-limiting aspects of destinationcommunications in accordance with a transmission protocol provided invarious embodiments;

FIGS. 9, 10 and 11 illustrate various examples of operation of theacknowledgment messages sent in connection with different non-limitingmessaging scenarios for transmission events;

FIGS. 12, 13, 14 and 15 illustrate performance benefits in terms ofthroughput from the source to destination in accordance with ahalf-duplex relay communicating according to the various embodiments;

FIG. 16 is a block diagram of an example operating environment in whichvarious aspects described herein can function; and

FIG. 17 illustrates an example wireless communication network in whichvarious aspects described herein can be utilized.

DETAILED DESCRIPTION

The claimed subject matter is now described with reference to thedrawings, wherein like reference numerals are used to refer to likeelements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the claimed subject matter. It may beevident, however, that the claimed subject matter may be practicedwithout these specific details. In other instances, well-knownstructures and devices are shown in block diagram form in order tofacilitate describing the claimed subject matter.

As used in this application, the terms “component,” “system,” and thelike are intended to refer to a computer-related entity, eitherhardware, a combination of hardware and software, software, or softwarein execution. For example, a component may be, but is not limited tobeing, a process running on a processor, a processor, an object, anexecutable, a thread of execution, a program, and/or a computer. By wayof illustration, both an application running on a server and the servercan be a component. One or more components may reside within a processand/or thread of execution and a component may be localized on onecomputer and/or distributed between two or more computers. Also, themethods and apparatus of the claimed subject matter, or certain aspectsor portions thereof, may take the form of program code (i.e.,instructions) embodied in tangible media, such as floppy diskettes,CD-ROMs, hard drives, or any other machine-readable storage medium,wherein, when the program code is loaded into and executed by a machine,such as a computer, the machine becomes an apparatus for practicing theclaimed subject matter. The components may communicate via local and/orremote processes such as in accordance with a signal having one or moredata packets (e.g., data from one component interacting with anothercomponent in a local system, distributed system, and/or across a networksuch as the Internet with other systems via the signal).

As discussed in the background, more optimal solutions are desired fordynamically allocating subcarrier resources in wireless OFDMA systemswith a half duplex relay node, i.e., where the relay node cannottransmit and receive simultaneously on the same frequency. In brief, theuse of relay node may enhance or degrade the system throughput dependingon the instantaneous channel states between the source and relay, therelay and the destination as well as the source and destination. Hence,various embodiments herein dynamically adjust the resource, i.e.,subcarrier, allocated to the relay node so that the relay is used atoptimal times according to the instantaneous channel states.

Conventional attempts have dynamically scheduled the usage of the relaynode in a centralized manner in which full knowledge of the channelstates between any two nodes in the network is required. However, inpractice, perfect knowledge of the channel states at various nodes israrely available and difficult to obtain.

Accordingly, in various embodiments described in more detail below,distributed resource allocation algorithms are provided for OFDMAsystems with half-duplex relays by employing a rateless code as part ofthe transmission protocol. Based on the ACK/NAK exchanges between thesource, destination and relay, the proposed algorithm iterativelyallocates resources to the source and relay, and converges to aclose-to-optimal allocation within a finite number of steps inaccordance with a practical tradeoff.

Referring to FIG. 1, a high-level flow diagram of a wirelesscommunication system is illustrated from the perspective of a relaynode. At 100, the relay receives symbol(s) of a current messagetransmitted using a rateless codebook from a source node. At 110, whendecodable by the relay, an ACK message is transmitted to the destinationnode. At 120, if the destination node can be assisted by the relay, thedestination node transmits ACK message to source node. At 130, the relaydecodes and re-encodes the message using same codebook as source node.At 140, the symbols of re-encoded message are stored in a first in firstout stack of the relay. At 150, the relay transmits the symbols of there-encoded message to the destination.

Referring to FIG. 2, a high-level flow diagram of a wirelesscommunication system is illustrated from the perspective of adestination node. At 200, the destination node receives part or all ofcurrent message from a source node according to transmission protocolusing a rateless code. At 210, if the destination node can decode thecurrent message before the relay, the destination transmits an ACKmessage to the source node. At 220, if the destination node cannotdecode current message before the relay, the destination node determinesif the memory stack of the relay is full. If so, at 230, the sourcedestination link is relied upon. At 240, if the memory stack is notfull, the destination indicates to the relay node to decode andre-encode the current message, and the destination dynamically allocatessubcarrier resources for transmitting to the destination. At 250, thedestination receives and decodes the current message as a combination ofmessage information received from both the source node and the relaynode.

Advantageously, the resource allocation algorithms performed accordingthe embodiments described herein have low computational complexitycompared to brute force alternatives and, as shown below, suchallocation of resources has a provable convergence property. Asymptoticthroughput performance of the proposed algorithm is also derived in thedetailed description below. In this respect, a significant throughputgain is achieved as compared to a point-to-point baseline system withoutrelay as well as compared to a baseline system with relay using randomsubcarrier allocation.

As mentioned, in one aspect, a distributed resource allocation algorithmis provided for OFDMA systems with half-duplex relay node(s) byemploying a rateless code in the transmission protocol. Distributedalgorithms described herein include two main parts: (1) the transmissionprotocol design for the rateless code and (2) the subcarrier allocationalgorithm to allocate subcarrier resources to the half duplex relaynode. As mentioned, the proposed resource allocation algorithmdynamically adjusts the resource (subcarrier) allocated to the relaynode in a distributed manner based on the ACK/NAK exchanges between thesource, destination and relay.

Beneficially, embodiments make use of all the locally availableinformation at the destination node without requiring any explicitfeedback of CSI information. Based on the locally available information,the algorithm iteratively converges to a close-to-optimal allocationwithin finite steps, providing performance benefits.

As a roadmap for what follows, some notation is first set forth forgeneral context of description. Next, a relay channel model is describedfor reference in connection with the described embodiments. Thetransmission protocol design and the problem formulation with respect tosubcarrier selection are then discussed, followed by a variety ofembodiments employing the close-to-optimal selection algorithm describedherein. Some representative performance considerations are then examinedand some empirical results are given that can be compared with otherselection algorithms to demonstrate benefits of employing the subcarrierselection techniques.

The following notation conventions are adopted for consistency andclarity herein. Boldface upper case letters denote matrices, boldfacelower case letters denote column vectors, and lightface italics denotescalers. C^(n×m) denotes the set of n×m matrices with complex-valuedentries and the superscript denotes (.)^(H) denotes Hermitian transposeoperation. The matrix I_(n) denotes the n×n identity matrix. Expressionspx^((x)) and px denote the probability density function (pdf) of therandom variable X. The expectation with respect to X is written asE_(x)[.] or simply as E[.].

With respect to the relay channel model adopted herein, the OFDMA basedhalf-duplex relay channel model is explained with reference to FIG. 3illustrating a wideband relay network over frequency selective fadingchannels with a single source node, relay node and destination node asshown for simplicity in FIG. 3. Each node, including the source 300, therelay 310 and the destination 320, is equipped with a single half-duplexradio and a single antenna (not shown). In the general scenario, thesource node 300 wants to communicate to the destination node 320 over aslow fading channel. For example, the relay node 310 can use theDecode-and-Forward (DF) protocol to assist the information transmissionbetween the source node 300 and the destination node 320. As part of thetransmission, acknowledgment messages are sent after successfultransmission of data. Of note in FIG. 3 are the ACK message fromdestination node 320 to source node 300, denoted Ack_(DS), the ACKmessage from destination node 320 to relay node 310, denoted Ack_(DR)and the ACK message from relay node 310 to destination node 320, denotedAck_(RD).

Let XεC^(N×1) denote the signals transmitted by the source node 300,where N denotes the total number of subcarriers. Signals transmitted bythe relay node 310 are denoted by x¹εC^(N×1). The variances of x and x¹are normalized to unity. Received signals at the relay node 310 and thedestination node 320 are denoted by y¹εC^(N×1) and yεC^(N×1),respectively. The following Equations (1), (2) and (3) show therelationship among those signals:

y=H ^(SD) Sx+H ^(RD) Sxs ¹ +z  (1)

y ¹ =H ^(SR) Sx  (2)

S+ S=I _(N)  (3)

where H^(SD), H^(RD), H^(SR)εC^(N×N) are diagonal matrices with thei^(th) diagonal elements equal to the fading coefficients ofSource-Destination (SD), Relay-Destination (RD), and Source-Relay (SR)channels in the i^(th) subcarrier respectively, and zεC^(N×1) andz¹εC^(N×1) represent the additive noise with normalized power. S and Sare the i^(th) diagonal selection matrices. Let S_(A) and S_(A) ^(C)denote the set of subcarriers allocated to the source node 300 and therelay node 310 for transmissions, respectively. Then, the i^(th)diagonal element of S equals to 1 when the i^(th) subcarrier is in theset S_(A) and 0 otherwise. S selects the subcarriers for the relay totransmit (denoted as S_(A) ^(C)), and Equation (3) establishes therelationship between S and S.

The following additional assumptions are made herein for variousapplicable embodiments. First, the receiver at the relay node 310 isassumed to have perfect CSI knowledge of the SR link only, and thereceiver at the destination node 320 is assumed to have perfect CSIknowledge of the SD and RD links, but no CSI knowledge of the SR link.Uniform power allocation is assumed since transmitters have no CSIknowledge of the channels. Secondly, the relay 310 is assumed to be ableto transmit and receive on different subcarriers simultaneously, wherethe transmitted and received signals do not couple together.Furthermore, for each link, the fading coefficients of the subcarrierare assumed to be independent and identically distributed (i.i.d.)complex symmetric random Gaussian variables with zero-mean. It is notedthat any of the embodiments herein can be directly used in correlatedsubcarrier scenarios as well. Slow fading channels are considered wherethe aggregate CSI H=(H^(SD), H^(RD), H^(SR)) remains quasi-static withina fading block.

Having set forth the relay model above, a low complexity protocol forthe transmission of rateless codes is next introduced, from which theresources allocation problem can be formulated as an integer programmingproblem, which is then solved below in various embodiments.

Thus, in one aspect, embodiments provide a transmission protocol usingrateless codes. In this regard, a rateless codebook containing 2 ^(l)codewords at the transmitter (to deliver l information bits) isconsidered where each codeword is infinitely long. FIG. 4 generallyillustrates the notions of a packet transmission 410, a transmissionevent 420, and a fading slot 400. For easy illustration, a packettransmission 420 is defined to be the event for the transmitter tosuccessfully deliver one packet (part of the complete codeword) to thereceiver. A transmission event 410 is defined to have occurred when thedestination node successfully decodes one codeword delivered by thesource (and hence, obtained l information bits). A fading slot 400 isdefined to be the duration during which the aggregate CSI H remainsquasi-static (which may contain multiple transmission events A, B, . . ., X, . . . ). Further, N_(L) is defined to be the number of transmissionevents 410 per fading slot 400.

By the definition of S_(A) and S_(A) ^(C), S_(A)∪S_(A) ^(C) gives theentire subcarriers, S_(T). To ensure half-duplex operation, thefollowing relation pertains: S_(A)∩S_(A) ^(C)=Ø. The protocol at thesource node can be described with reference to FIG. 5. After start 500,for every transmission event, the encoder at the source selects one ofthe 2 ^(l) codewords (with infinite block size) to transmit at 520 basedon l information bits over the set of subcarriers S_(A). The destinationnode sends an acknowledgement (ACK) to the source node (Ack_(DS)) whenl≦Σ_(i=0) ^(t)I(x₁; y₁|H) where t is the current packet index in atransmission event. A check for whether Ack_(DS) has been receivedoccurs at 510. If Ack_(DS) has not been received, the source nodecontinuously transmits the encoded symbols (next part of the longcodeword) until Ack_(DS) is received eventually.

The protocol at the relay node can be described with reference to FIGS.6 and 7. In FIG. 6, after start 600, starting with the first message at610, the relay node keeps receiving the symbols transmitted by thesource over S_(A) until enough mutual information l≦Σ_(i=0) ^(t)I(x_(i);y_(i) ¹|H^(SR) has been collected to decode the current message at 620.If so, it sends an acknowledge to the destination Ack_(RD) at 630. Ifthe destination could use help from the relay, at 640, a quick responsefrom the destination is sent immediately as indicated by theacknowledgement Ack_(DS). The relay will then decode and re-encode thedecoded message using the same codebook as the source node at 650, andmove on to the next message.

Then, as shown in FIG. 7, after start 700, beginning with the firstmessage at 710, the left-over symbols in the re-encoded codeword arestored in the First-In-First-Out (FIFO) stack of the relay andtransmitted at 720 to the destination node over the set of subcarriersS_(A) ^(C). Since relay and source share the same codebook, the relayknows the symbols transmitted by the source. The relay then continues totransmit symbols right after the last symbol transmitted by the source.The relay transmits the next information message in the FIFO stack at740 when the acknowledgement from the destination, Ack_(DR), is receivedat 730.

The protocol at the destination node can be described with reference toFIG. 8. After start 800, message counts j and k are set to 1 at 810. Ifthe destination can decode the jth message, at 820, then the jth messageis decoded at 830, after which the j message count is incremented forthe next message. Next, based on whether help from the relay is desiredfor decoding at 840, an Ack_(DR) message is transmitted by thedestination to the relay at 850.

Next, it is determined whether the kth message can be decoded withoutthe relay's help at 860. The flow also proceeds to 860 if the jthmessage cannot be decoded at 820. If the kth message can be decoded bythe destination without the relay's help, then at 890, an Ack_(DS)message is sent to the source, the k message count is incremented andthe flow returns to 820 for the next round of the process for the nextmessages. If, at 860, the kth message cannot be decoded without therelay's help, then it is determined whether relay has received anAck_(RD) message has been received from the relay. If not, then the flowreturns to 820 for the next round of the process for the currentmessages for decoding as defined by the j and k message counts.

If, at 870, an Ack_(RD) message has been received by the destinationfrom the relay, then at 880, if the FIFO stack is not full, then theflow proceeds to 890, where an Ack_(DS) message is sent to the source,the k message count is incremented and the flow returns to 820 for thenext round of the process for the next messages. If the FIFO stack isfull, then the flow proceeds directly to 820.

In this regard, information received the destination node contains twoparts. The first part is transmitted by the source over S_(A) ^(C). Aslong as the destination node can decode the message before the relaynode, Ack_(DS) will be sent (at 890). If it is not the case, i.e., therelay can decode before the destination indicated by Ack_(RD) thedestination will determine whether the FIFO stack of the relay node isfull. When the relay is transmitting k-th message, and the source istransmitting the j-th message, in one embodiment, the destinationdetermines that the FIFO stack is full when j−k exceeds the size of theFIFO stack d. If it is full, which means no more messages can be storedin the relay, the destination will rely on the SD link to receive thecurrent information and declare an Ack_(DS) message later when theinformation can be decoded successfully.

Otherwise, the destination will send the Ack_(DS) message immediately toinform the source node to send a new message and at the same time,indicate to the relay node to decode and store the current re-encodedmessage in the FIFO. The remaining part of the current message istransmitted by the relay node over S_(A). With the help of the relaynode, the destination node can decode the message based on the two partsof received symbols. The first part is transmitted by the source and thesecond part is the extra information transmitted by the relay. TheAck_(DR) message is produced when the destination has accumulated enoughtotal mutual information from the two parts of received symbols todecode the message.

The following examples show the relation between three acknowledgements(ACKs). For instance, as shown in FIG. 9, a transmission event 910 isshown during a fading slot. The relay node is able to decode the firstfour packets before the destination can.

For simplicity of example, not limitation on scope, the stack size d atthe relay node is assumed equal to 2. Thus, for first three transmissionevents, the destination node knows that the stack is not full and thussend the Ack_(DS) message immediately after the Ack_(RD) message isreceived. However, as shown, when the source is transmitting the fourthmessage, the destination realizes that the stack at the relay node isfull since the relay is still transmitting the first message and thusrelies on the SD link instead to transmit the current message. For thefifth transmission event, the destination can decode before the relay,and only Ack_(DS) is sent.

For simplicity, the ACKs (Ack_(RD), Ack_(DS) and Ack_(DR)) are assumedto be delivered over a noiseless feedback channel between thecorresponding nodes. Since the usage of a relay node (increasing thesize of S_(A) ^(C)) consumes system resources (decreasing the size ofS_(A) ^(C)), as mentioned, the use of the relay node may contribute toperformance gain or loss depending on the current CSI. Hence, in variousembodiments described herein, the resources are dynamically adapted interms of allocation to the relay, S_(A) ^(C), for optimal performance ina distributed manner without knowing the CSI at the transmitter. In thenext section, the relay resource allocation design is re-formulated asan optimization problem.

With respect to the problem formulation for subcarrier selection, sincethe subcarrier allocation is done at the destination node only, theselection can be a function of the CSIR H_(SD), H_(RD), but not the CSIH_(SR). For notation convenience, the following definition is providedfor subcarrier allocation policy.

Definition of Subcarrier Allocation Policy: A subcarrier allocation forthe source node S, S_(A)(H^(SD), H^(RD)), is defined as the set ofsubcarriers assigned to the source for its transmission which is afunction of the CSIR H^(SD), H^(RD) at the destination node D. Thesubcarrier allocation policy S_(A)={S_(A)(H^(SD), H^(RD))} is thus thecollection of subcarrier allocations under different CSI conditions(H^(SD), H^(RD)).

Theorem I. Given an aggregate CSI H=(H^(SD), H^(RD), H^(SD)) in a fadingblock, the instantaneous throughput achievable by the rateless code R(H,S_(A)) (b/s/Hz) between the S and D is given by Equation (4):

$\begin{matrix}\begin{matrix}{{R( {H,S_{A}} )} = {\lim\limits_{L->\infty}\frac{L}{T( {H,S_{A}} )}}} \\{{= {\frac{1}{n_{F}}\min \{ {\max \begin{Bmatrix}{{\sum\limits_{i \in S_{A}}{\log ( {1 + {{h_{i}^{SR}}^{2}{SNR}}} )}},} \\{\sum\limits_{i \in S_{A}}{\log ( {1 + {{h_{i}^{SD}}^{2}{SNR}}} )}}\end{Bmatrix}} \}}},}\end{matrix} & (4) \\ {{\sum\limits_{i \in S_{A}}{\log ( {1 + {{h_{i}^{SD}}^{2}{SNR}}} )}} + {\sum\limits_{j \in S_{A}^{C}}{\log ( {1 + {{h_{j}^{RD}}^{2}{SNR}}} )}}} \} & \;\end{matrix}$

where L and T(H, S_(A)) are the number of information bits and thecorresponding duration (in number of symbols) in one fading slot andn^(F) is the total number of subcarriers. A proof of Theorem I isprovided in Appendix A.

Hence, the average throughput between S and D (averaged over multiplefading blocks H) is given by Equation (5):

R (S _(A))=E _(H) [R(H,S _(A))].  (5)

The optimal subcarrier allocation policy for relay, S_(A) ^(*) is givenby the following optimization problem in Equation (6):

$\begin{matrix}\begin{matrix}{S_{A\;}^{*} = {\arg \; {\max\limits_{S_{A}}{\overset{\_}{R}( S_{A} )}}}} \\{= {\arg \; {\max\limits_{S_{A}}{E_{H}\lbrack {\frac{1}{n_{F}}\min \begin{Bmatrix}{{\max \begin{Bmatrix}{{\sum\limits_{i \in S_{A}}{\log ( {1 + {{h_{i}^{SR}}^{2}{SNR}}} )}},} \\{\sum\limits_{i \in S_{A}}{\log ( {1 + {{h_{i}^{SD}}^{2}{SNR}}} )}}\end{Bmatrix}},} \\\begin{matrix}{{\sum\limits_{i \in S_{A}}{\log ( {1 + {{h_{i}^{SD}}^{2}{SNR}}} )}} +} \\{\sum\limits_{j \in S_{A}^{C}}{\log ( {1 + {{h_{j}^{RD}}^{2}{SNR}}} )}}\end{matrix}\end{Bmatrix}} \rbrack}}}}\end{matrix} & (6)\end{matrix}$

For notational convenience, λ^(T)=[λ₁, λ₂, . . . , λ_(n) _(F) ] isdefined, where λ₁=1 when the i-th subcarrier is in the set S_(A), and 0otherwise. A is denoted to be the collection of all λ under differentchannel conditions. The optimization problem can thus be represented asEquation (7):

$\begin{matrix}\begin{matrix}{\Lambda^{*} = {\arg \; {\max\limits_{\Lambda}{\overset{\_}{R}(\Lambda)}}}} \\{= {\arg \; {\max\limits_{\Lambda}{E_{H}\lbrack {\frac{1}{n_{F}}\min \begin{Bmatrix}{{\max \{ {{\lambda^{T}C^{SR}},\lambda^{T},C^{SD}} \}},} \\{{\lambda^{T}C^{SD}} + {( {1 - \lambda} )^{T}C^{RD}}}\end{Bmatrix}} \rbrack}}}}\end{matrix} & (7)\end{matrix}$

where C^(SR)=[C₁ ^(SR), . . . , C_(n) _(F) ^(SR)], C^(SD)=[C₁ ^(SD), . .. , C_(n) _(F) ^(SD)], C^(RD)=[C₁ ^(RD), . . . , C_(n) _(F) ^(RD)]respectively, with C_(i) ^(A)=log (1+|h_(i) ^(A)|²SNR) and 1 stands forthe all-one vector.

Solving the above optimization problem of Equation (7) can be nontrivial because the subcarrier allocation λ(H^(SD), H^(RD)) cannot be afunction of the CSI H^(SR) because, as mentioned, the CSI H^(SR) is notavailable at the destination node. Accordingly, below, subcarrierallocation solutions are considered for two cases, namely small N_(L)and large N_(L), in which knowledge is based on H^(SD) and H^(RD).

In further regard to the subcarrier selection policy, the optimalsubcarrier selection policy can be found based on solving theoptimization problem given by Equation (7). For ease of illustration,two cases are set forth below according to the number of transmissionevents during a fading slot.

First, with respect to subcarrier selection policy for small N_(L), thenumber of transmission events during a quasi-static fading slot islimited and the destination cannot estimate the CSI of the SR link basedon the previous transmission. To utilize the knowledge of H^(SD) andH^(RD) let

h(λ)=E _(H) _(SR) [min{max{λ^(T) C ^(SR),λ^(T) C ^(SD)},λ^(T) C^(SD)+(1−λ)^(T) C ^(RD)}].

The optimization problem of Equation (7) is then equivalent to:

$\begin{matrix} {{\arg \; {\max\limits_{\lambda}{h( {\lambda,H^{SD},H^{RD}} )}}}{{{s.t.\mspace{14mu} \lambda_{i}} \in \{ {0,1} \}},{\forall i}}} ) & (8)\end{matrix}$

Lemma 1: h(λ, H^(SD), H^(RD)) can be expressed as:

$\begin{matrix}{ {{h( {\lambda,H^{SD},H^{RD}} )} = {{\lambda^{T}C^{SD}{\int_{0}^{\lambda^{T}C^{SD}}{{p_{y}(y)}{y}}}} + {\int_{\lambda^{T}C^{SD}}^{{\lambda^{T}C^{SD}} + {{({1 - \lambda})}^{T}C^{{RD}\;}}}{{{yp}_{y}(y)}{y}}} + {\lambda^{T}C^{SD}} + {( {1 - \lambda} )^{T}C^{RD}}}} ){\int_{{\lambda^{T}C^{SD}} + {{({1 - \lambda})}^{T}C^{RD}}}^{\infty}{{p_{y}(y)}{y}}}} & (9)\end{matrix}$

Where y=λ^(T)C^(SR) and p_(y)(y) denote the p.d.f. of the randomvariable y. A proof of Lemma 1 can be found in Appendix B below.

Applying Lemma 1, the first and the second derivative of h(λ) are takenwith respect to λ_(i), obtaining Equations (10) and (11) as follows:

$\begin{matrix}{\frac{{h( {\lambda,H^{SD},H^{RD}} )}}{\lambda_{i}} = {{C_{i}^{SD}{\int_{0}^{\lambda^{T}C^{SD}}{{p_{y}(y)}{y}}}} + {( {C_{i}^{SD} - C_{i}^{RD}} ){\int_{{\lambda^{T}C^{SD}} + {{({1 - \lambda})}^{T}C^{RD}}}^{\infty}{{p_{y}(y)}{y}}}}}} & (10) \\{\frac{^{2}{h( {\lambda,H^{SD},H^{RD}} )}}{\lambda_{i}^{2}} = {{C_{i}^{{SD}^{2}}{p_{y}( {\lambda^{T}C^{SD}} )}} - {( {C_{i}^{SD} - C_{i}^{RD}} )^{2}{p_{y}( {{\lambda^{T}C^{SD}} + {( {1{–\lambda}} )^{T}C^{RD}}} )}}}} & (11)\end{matrix}$

If C_(i) ^(SD)−C_(i) ^(RD)≧0, then h(λ) is a strictly increasingfunction with respect to λ_(i), since dh(λ)/dλ_(i)>0. As a result, theoptimal choice of is λ_(i) is λ_(i) ^(å)=1. The physical interpretationis when the channel condition of SD link is stronger than RD link, thebest strategy is to allocate the resource (i-th subcarrier) for thesource to transmit.

On the other hand, if C_(i) ^(SD)−C_(i) ^(RD)<0, then h(λ) is amonotonic function in λ_(i). The optimal solution λ^(å) is given by thefollowing iterative algorithm (e.g., by gradient method) of Equations(12) and (13):

$\begin{matrix}{\lambda_{i}^{({n + 1})} = {{\lbrack {\lambda_{i}^{(n)} + {ɛ_{i}^{(n)}\frac{{h(\lambda)}}{\lambda_{i}}}} \rbrack^{P}\mspace{14mu} {when}\mspace{14mu} \frac{^{2}{h(\lambda)}}{\lambda_{i\;}^{2}}} < 0}} & (12) \\{\lambda_{i\;}^{({n + 1})} = {{\lbrack {\lambda_{i}^{(n)} - {ɛ_{i}^{(n)}\frac{{h(\lambda)}}{\lambda_{i}}}} \rbrack^{P}\mspace{14mu} {when}\mspace{14mu} \frac{^{2}{h(\lambda)}}{\lambda_{i}^{2}}} \geq 0}} & (13)\end{matrix}$

where n is the iteration number, ε_(i) ^((n)) is a positive parameter toregulate the step size of iterations and [.]^(P) is defined as theprojection operation to map λ_(i) into the real value between 0 and 1.

With respect to subcarrier selection policy for large N_(L) (meaningthat there are sufficiently large transmission events within aquasi-static fading block). Let

g(λ)=min{max{λ^(T) C ^(SR),λ^(T) C ^(SD)},λ^(T) C ^(SD)+(1−λ)^(T) C^(RD)}.

g(λ) can be evaluated under the following three conditions.

Case 1: D can decode the packet (sending out Ack_(DS)) before R does. Inthis case, we have λ^(T)C^(SR)≦λ^(T)C^(SD) and hence, the optimizationobjective in Equation (7) can be reduced to Equation (14):

g(λ)=λC ^(SD)  (14)

Case 2a: R can decode the packet (sending out Ack_(RD)) before D doesand

λ^(T) C ^(SR)≦λ^(T) C ^(SD)+(1−λ)^(T) C ^(RD).

In this case, the optimization objective in Equation (7) becomesEquation (15):

g(λ)=λ^(T) C ^(SR)  (15)

Case 2b: R can decode the packet (sending out Ack_(RD)) before D doesand

λ^(T) C ^(SR)>λ^(T) C ^(SD)+(1−λ)^(T) C ^(RD)

In this case, the simplified optimization objective in Equation (7) isgiven by Equation (16):

g(λ)=λ^(T) C ^(SD)+(1−λ)^(T) C ^(RD)  (16)

Hence, combining Equations (14), (15) and (16), the optimizationobjection g(λ) can be expressed as Equation (17):

$\begin{matrix}{{\arg \; {\max\limits_{\lambda}{g(\lambda)}}} = \{ \begin{matrix}{{\lambda^{T}C^{SD}},} & {{for}\mspace{14mu} {Case}\mspace{14mu} 1} \\{{\lambda^{T}C^{SR}},} & {{for}\mspace{14mu} {Case}\mspace{14mu} 2a} \\{{{\lambda^{T}( {C^{SD} - C^{RD}} )} + {1^{T}C^{{RD}\;}}},} & {{for}\mspace{14mu} {Case}\mspace{14mu} 2b}\end{matrix} } & (17) \\{{{s.t.\mspace{14mu} \lambda_{i}} \in \{ {0,1} \}},{\forall i}} & \;\end{matrix}$

Problem (17) is an integer programming problem, since the optimizationvariables λ are restricted to integers. An optimal solution of thecombinatorial optimization problem is in general an NP-hard problem. Inorder to reduce the complexity, first the integer variables λ in (17)are relaxed to real variables.

The optimization objective function g(λ) is piece-wise linear in λ, andthus a continuous convex function of λ (but not differentiable). As aresult, traditional gradient-type search cannot always be applied here.Nevertheless, it is possible to find a search direction based on what isknown as a subgradient. Define the subgradient of a function as:

As defined herein, a vector f is a subgradient of g(λ) at λ, if for allλ′,

g(λ′)≧g(λ)+f ^(T)(λ′−λ)  (18)

The term subgradient is a generalization of gradient fornon-differentiable functions. Intuitively speaking, f is a subgradientif the linear function with slope f passing through (λ, g (λ)) liesentirely below g (λ). The subgradient of the optimization objective g(λ)with respect to λ is given by the following lemma.

Lemma 2. The subgradient for the function g(λ) with respect to λ is:

$f = \{ \begin{matrix}{C^{SD},} & {{for}\mspace{14mu} {Case}\mspace{14mu} 1} \\{C^{SR},} & {{for}\mspace{14mu} {Case}\mspace{14mu} 2a} \\{{C^{SD} - C^{RD}},} & {{for}\mspace{14mu} {Case}\mspace{14mu} 2b}\end{matrix} $

A proof of Lemma 2 is given in Appendix C below.

Applying Lemma 2, the iterative algorithm for the optimization problem(17) based on a subgradient method is given below in Equation (20):

λ^((n+1))=[λ^((n))+α^((n)) f ^((n))]^(Q)  (20))

where n is the iteration number, α^((n)) is a sequence of scalarstep-sizes, [.]^(Q) is defined as the projection operation to map thevariable λ into the feasible set, given by 0° λ° and f^((n)) is thesubgradient direction for the n-th iteration. The above subgradientmethod is guaranteed to converge to the optimal λ as long as α^((n)) ischosen to be sufficiently small. To choose the step-size, a non-limitingcriterion that can be used is that α^((n)) must be square summable, butnot absolute summable. Since the norm of f is bounded above, thefollowing choice is made:α^((n))=β/n for some constant β is guaranteedto converge to the optimal g(λ^(å)).

However, C^(SR) is not available at the destination node and hence, thesubgradient cannot be computed at the destination node when case 2ahappens. To get around this problem, t(H, λ)=l/λ^(T)C^(SR) is defined tobe the time for the source to transmit one codeword (l bits)successfully to the relay with the instantaneous channel realization Hand the subcarrier allocation policy λ. In fact, the destination nodecould measure this parameter by measuring the time difference betweenacknowledgements as shown in FIG. 10 and FIG. 11 with transmissionevents 1010 and 1110, respectively. Without loss of generality, in thefirst n−1 transmission events, the destination is assumed able tomeasure t(H, λ⁽¹⁾), t(H, λ⁽²⁾), . . . , t(H, λ^((n−1))). It is notedthat C^(SR) and t(H, λ) are related by Equation (21):

$\begin{matrix}{{{\begin{bmatrix}\lambda^{(1)} \\\lambda^{(2)} \\\ldots \\\lambda^{({n - 1})}\end{bmatrix}C^{SR}} = \begin{bmatrix}\frac{l}{t( {H,\lambda^{(1)}} )} \\\frac{l}{t( {H,\lambda^{(2)}} )} \\\ldots \\\frac{l}{t( {H,\lambda^{({n - 1})}} )}\end{bmatrix}},} & (21)\end{matrix}$

As a result, during the n-th iteration, the unknown parameter C^(SR) canbe estimated from {t(H, λ⁽¹⁾), t(H, λ⁽²⁾), . . . , t(H, λ^((n−1)))} withC^(SR) given by Equation (22):

$\begin{matrix}{{\hat{C}}^{SR} = {\begin{bmatrix}\lambda^{(1)} \\\lambda^{(2)} \\\ldots \\\lambda^{({n - 1})}\end{bmatrix}^{\dagger}\begin{bmatrix}\frac{l}{t( {H,\lambda^{(1)}} )} \\\frac{l}{t( {H,\lambda^{(2)}} )} \\\ldots \\\frac{l}{t( {H,\lambda^{({n - 1})}} )}\end{bmatrix}}} & (22)\end{matrix}$

where [.]^(†) denotes the pseudo-inverse operation of the matrix. Basedon Equation (22), the subgradient could be computed for the n-th stepand the subcarrier allocation λ^((n)) can be updated. It is noted thatsince each iteration requires new observations {t(H, λ⁽¹⁾), t(H, λ⁽²⁾),. . . , t(H, λ^((n−1)))}, the solution implicates large N_(L).

Finally, the above analysis considers the cases when λ can be relaxed tothe real values. If λ is restricted to integers (or in other words, iftime-sharing is not allowed over the subcarriers), an extra procedurecan be used to round the updated λ^((n+1)) to integers.

With respect to an asymptotic performance analysis of the results of theabove protocol and selection policy, the asymptotic average throughputcan be derived between S and D ( R(S_(A) ^(*))) using the optimalsubcarrier selection policy S_(A) ^(*) based on renewal process. Let themultiple transmission events in the k-th fading slot be a process event.Then, define T_(k)(H_(k), S_(A)) to be the lifetime of the k-th event inthe renewal process and define K to be the number of events. Thisresults in we have

${\overset{\_}{R}( S_{A}^{*} )} = {{E_{H}\lbrack {R( {H,S_{A}^{*}} )} \rbrack} = {\frac{1}{n_{F}}{\lim\limits_{K->\infty}\frac{KL}{\sum\limits_{k\; 1}^{K}{T_{k}( {H_{k},S_{A}^{*}} )}}}}}$

Also, it is known that

${\lim\limits_{K->\infty}\frac{KL}{\sum\limits_{k = 1}^{K}{T_{k}( {H_{k},S_{A}^{*}} )}}} = \frac{L}{\mu}$

where μ=E_(H)[T(H, S_(A) ^(*))] is the expected time to transmit L bitsaveraged over multiple fading blocks. Substituting Equation (4) into theexpression, Equation (24) results:

$\begin{matrix}{{E\lbrack {T( {H,S_{A}^{*}} )} \rbrack} = {{{LE}\lbrack \{ {\min \begin{Bmatrix}\begin{matrix}{\max \begin{Bmatrix}{{\sum\limits_{i \in S_{A}^{*}}{\log ( {1 + {{h_{i}^{SR}}^{2}{SNR}}} )}},} \\{\sum\limits_{i \in S_{A}^{*}}{\log ( {1 + {{h_{i}^{SD}}^{2}{SNR}}} )}}\end{Bmatrix}m} \\{{\sum\limits_{i \in S_{A}^{*}}{\log ( {1 + {{h_{i}^{SD}}^{2}{SNR}}} )}} +}\end{matrix} \\{\sum\limits_{j \in S_{A}^{C,*}}{\log ( {1 + {{h_{j}^{RD}}^{2}{SNR}}} )}}\end{Bmatrix}} \}^{- 1} \rbrack}.}} & (23)\end{matrix}$

In general, Equation (23) is difficult to obtain in closed form sincethe subcarrier set S_(A) ^(*) depends on the relations of three randomvectors. For simplicity, the signal strength of the SR, RD, and SD linksare assumed to have the following relationships σ_(SR) ²=σ_(RD) ²σ_(SD)². In such scenario, the communication system mainly relies on the SRand RD links to transmit the information and the expectation of Equation(24) can be simplified as Equation (24):

$\begin{matrix}{{{LE}\lbrack \{ {\min \begin{Bmatrix}{{\max \begin{Bmatrix}{{\sum\limits_{i \in S_{A}^{*}}{\log ( {1 + {{h_{i}^{SR}}^{2}{SNR}}} )}},} \\{\sum\limits_{i \in S_{A}^{*}}{\log ( {1 + {{h_{i}^{SD}}^{2}{SNR}}} )}}\end{Bmatrix}},} \\{{\sum\limits_{i \in S_{A}^{*}}{\log ( {1 + {{h_{i}^{SD}}^{2}{SNR}}} )}} +} \\{\sum\limits_{j \in S_{A}^{C,*}}{\log ( {1 + {{h_{j}^{RD}}^{2}{SNR}}} )}}\end{Bmatrix}} \}^{- 1} \rbrack} \geq {\quad{{{LE}\lbrack \{ {\min \{ {{\sum\limits_{i \in S_{A}^{*}}{\log ( {1 + {{h_{i}^{SR}}^{2}{SNR}}} )}},{\sum\limits_{j \in S_{A}^{C,*}}{\log ( {1 + {{h_{j}^{RD}}^{2}{SNR}}} )}}} \}} \rbrack^{- 1} \rbrack} = {\quad{{{LE}\lbrack {\max \{ {\frac{1}{\sum\limits_{i \in S_{A}^{*}}{\log ( {1 + {{h_{i}^{SR}}^{2}{SNR}}} )}},\frac{1}{\sum\limits_{j \in S_{A}^{C,*}}{\log ( {1 + {{h_{j}^{RD}}^{2}{SNR}}} )}}} \}} \rbrack} > {{LE}\lbrack \frac{1}{{\sum\limits_{i \in S_{A}^{*}}{\log ( {1 + {{h_{i}^{SR}}^{2}{SNR}}} )}} + {\sum\limits_{j \in S_{A}^{C,*}}{\log ( {1 + {{h_{j}^{RD}}^{2}{SNR}}} )}}} \rbrack}}}}}} & (24)\end{matrix}$

Based on the assumption σ_(SR) ²=σ_(RD) ²σ_(SD) ², the optimalsubcarrier allocation policy S_(A) ^(*) will be choosing the i-thsubcarrier for the source to transmit if |h_(i) ^(SR)|²≧|h_(i) ^(RD)|².Otherwise, the i-th subcarrier for the relay is chosen to transmit. Theexpectation in Equation (24) can now be calculated as Equation (25):

$\begin{matrix}{{E\lbrack \frac{1}{{\sum\limits_{i \in S_{A}^{*}}{\log ( {1 + {{h_{i}^{SR}}^{2}{SNR}}} )}} + {\sum\limits_{j \in S_{A}^{C,*}}{\log ( {1 + {{h_{j}^{RD}}^{2}{SNR}}} )}}} \rbrack} = {{\frac{1}{n_{F}}\{ {{{E\lbrack {\frac{1}{\log ( {1 + {{h_{i}^{SR}}^{2}{SNR}}} )}{{h_{i}^{SR}}^{2} \geq {h_{i}^{RD}}^{2}}} \rbrack}{P( {{h_{i}^{SR}}^{2} \geq {h_{i}^{RD}}^{2}} )}} + {{E\lbrack {\frac{1}{\log ( {1 + {{h_{i}^{RD}}^{2}{SNR}}} )}{{h_{i}^{SR}}^{2} < {h_{i}^{RD}}^{2}}} \rbrack}{P( {{h_{i}^{SR}}^{2} < {h_{i}^{RD}}^{2}} )}}} \}} = {{\frac{1}{n_{F}}{\int_{0}^{\infty}{\int_{\beta}^{\infty}{\frac{1}{\log ( {1 + {\alpha \; {SNR}}} )}\frac{1}{\sigma_{SR}^{2}}^{- \frac{\alpha}{\sigma_{SR}^{2}}}{\alpha}\frac{1}{\sigma_{RD}^{2}}^{- \frac{\beta}{\sigma_{RD}^{2}}}{\beta}}}}} = {\frac{1}{n_{F}}{\Psi ( {\sigma_{SR}^{2},\sigma_{RD}^{2}} )}}}}} & (25)\end{matrix}$

The second equality in (25) holds because σ_(SR) ²=σ_(RD) ².

Combining Equations (23), (24) and (25), the average throughput betweenS and D, R(S_(A) ^(*)), is upper-bounded by Equation (26):

$\begin{matrix}{{\overset{\_}{R}( S_{A}^{*} )} = {{\frac{1}{n_{F}}\frac{L}{E\lbrack {T( {H,S_{A}^{*}} )} \rbrack}} < ( {\Psi ( {\sigma_{SR}^{2},\sigma_{RD}^{2}} )} )^{- 1}}} & (26)\end{matrix}$

To find the lower-bound, S_(A) is chosen to be the entire set of all thesubcarriers S_(T):

$\begin{matrix}\begin{matrix}{{E\lbrack {T( {H,S_{T}} )} \rbrack} = {{LE}\lbrack \frac{1}{\sum\limits_{i \in S_{T}}{\log ( {1 + {{h_{i}^{SD}}^{2}{SNR}}} )}} \rbrack}} \\{= {\frac{L}{n_{F}}{\int_{0}^{\infty}{{\log ( {1 + {\gamma \; {SNR}}} )}\frac{1}{\sigma_{SD}^{2}}^{- \frac{\gamma}{\sigma_{SD}^{2}}}{\gamma}}}}} \\{= {\frac{L}{n_{F}}{\Omega ( \sigma_{SD}^{2} )}}}\end{matrix} & (27)\end{matrix}$

and R(S_(A) ^(*)) is lower-bounded by

$\begin{matrix}{{{\overset{\_}{R}( S_{A}^{*} )} \geq {\frac{1}{n_{F}}\frac{L}{E\lbrack {T( {H,S} )} \rbrack}}} = ( {\Omega ( \sigma_{SD}^{2} )} )^{- 1}} & (28)\end{matrix}$

Defining the gain of the system throughput G to be the ratio of thethroughput using relay R(S_(A) ^(*)) and the through put without usingrelay R(S) or equivalently G= R(S_(A) ^(*))/ R(S). Combining Equations(26) and (28), the upper bound and lower bound of the system throughputand corresponding gain of the system G are summarized as follows:

R (S _(A) ^(*)≧(Ω(σ_(SD) ²))⁻¹

R (S _(A) ^(*))<(Ψ(σ_(SR) ²,σ_(RD) ²))⁻¹

1≦G≦Ω(σ_(SD) ²)/Ψ(σ_(SR) ²,σ_(RD) ²)

In the high SNR regime, log(1+xSNR)≈ log xSNR, both the upper bound andlower bound scale with the order of O(log SNR) and as a result, theaverage throughput R(S_(A) ^(*)) scales with the order of O(log SNR) andthe maximum gain with the help of relay G _(high)=lim_(SNR→∞)Ω(σ_(SD)²)/Ψ(σ_(SR) ², σ_(RD) ²), thus:

G _(high)=1

In the low SNR regime, log(1+xSNR)≈xSNR, and the upper bound and lowbound scale with a factor of O(SNR) and the maximum gain G_(low)=lim_(SNR→0)Ω(σ_(SD) ²)/Ψ(σ_(SR) ², σ_(RD) ²), thus:

G _(low)=σ_(SD) ²σ_(RD) ²σ_(SR) ²/Θ(σ_(SR) ²,σ_(RD) ²)

where

${\Theta ( {\sigma_{SR}^{2},\sigma_{RD}^{2}} )} = {\int_{0}^{\infty}{\int_{\beta}^{\infty}{\alpha^{- 1}^{{- \frac{\alpha}{\sigma_{SR}^{2}}} - \frac{\beta}{\sigma_{RD}^{2}}}{\alpha}{{\beta}.}}}}$

The efficacy of the above described embodiments can be verified bysimulated results, as presented in non-limiting fashion in FIGS. 12 to15. The throughput performance of the embodiments described herein canbe compared with three baseline references, namely the baseline 1:point-to-point OFDM system without relay, the baseline 2: OFDMA relaysystem with a random subcarrier allocation as well as baseline 3: OFDMArelay system with a brute-force subcarrier allocation. In graph 1200,FIG. 12 shows the total throughput versus SNR with σ_(SR) ²=σ_(RD)²=5σ_(SD) ². The selection algorithms of the embodiments herein forlarge N_(L) 1230 and small N_(L) 1240 perform better than baseline 1 (norelay) 1260 or baseline 2 (random selection) systems 1250, 1270 and1280. The performance of the proposed scheme is also close to baseline 3(brute-force) 1220 without the computational complexity. Curve 1210represents the upper bound on total throughput. In graph 1300, FIG. 13shows the case when σ_(SR) ²=σ_(RD) ²=10σ_(SD) ². Again, the selectionalgorithms of the embodiments herein for large N_(L) 1330 and smallN_(L) 1340 perform better than baseline 1 (no relay) 1360 or baseline 2(random selection) systems 1350, 1370 and 1380. The performance of theproposed scheme is also close to baseline 3 (brute-force) 1320 withoutthe computational complexity. Curve 1310 represents the upper bound ontotal throughput.

The optimized subcarrier selection policies (both for large N_(L) andsmall N_(L)) perform as well as the baseline 3 (brute-force) withnegligible performance loss under all SNR conditions. In the low SNRregime, the selection policy for large N_(L) 1330 performs slightlybetter than that for small N_(L). In the high SNR regime, the systemthroughput of two policies are nearly the same. Since when SNRincreases, lim_(SNR→∞)λ^(T)C^(SD)/E_(H) _(SR) [λ^(T)C^(SD)]=1, and as aresult, the uncertainty of the SR link becomes less and less important.Equivalently speaking, in the high SNR regime, the statistics of the SRlink provides enough information for the destination node to find thebest allocation policy.

In graphs 1400 and 1500, FIGS. 14 and 15 respectively show therelationship between the system throughput gain G and SNR underdifferent conditions (σ_(SR) ²=σ_(RD) ²=5σ_(SD) ² and σ_(SR) ²=σ_(RD)²=10σ_(SD) ²). The system throughput gain is thus decreasing withrespect to SNR, as shown above. However, compared to the point-to-pointOFDMA system without relay, the system throughput with the relay's helpcan be enhanced by more than 30% under a relatively high SNR (e.g., 20dB). In FIG. 14, curve 1410 is the theoretical upper bound. Curve 1420represents a brute force algorithm (high complexity), and curves 1430and 1440 represent the dynamic allocation policy described herein forsmall N_(L) and large N_(L), respectively. Similarly, in FIG. 15, curve1510 is the theoretical upper bound. Curve 1520 represents a brute forcealgorithm (high complexity), and curves 1530 and 1540 represent thedynamic allocation policy described herein for small N_(L) and largeN_(L), respectively.

In brief sum, a rateless code was introduced with acknowledgements intoOFDMA systems with half-duplex relay. By applying a simple transmissionprotocol, the subcarrier allocation problem was then formulated as anoptimization problem. A distributed subcarrier allocation policy wasthen provided that utilizes locally available information at thedestination node only and the asymptotic throughput performance wasanalyzed using the renewal process. Simulation results were thenevaluated that show the total achievable rate of the selectionalgorithms described herein scales with the order of O(SNR) in the lowSNR regime, and with the order of O(log SNR) in the high SNR regime,which is the same as the case without relay. The system throughput gainis bounded between 1 and Ω(σ_(SD) ²)/Ψ(σ_(SR) ²,σ_(RD) ²). The selectionalgorithms beneficially have low computational complexity with the orderof O(N).

The resource allocation algorithms described herein thus have lowcomplexity and a provable convergence property. In addition, asymptoticthroughput performance shows that the system achieves significantthroughput gain compared to the point-to-point baseline system withoutrelay as well as the baseline system with random subcarrier allocation.

Although not required, the claimed subject matter can partly beimplemented via an operating system, for use by a developer of servicesfor a device or object, and/or included within application software thatoperates in connection with one or more components of the claimedsubject matter. Software may be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by one or more computers, such as clients, servers, mobiledevices, or other devices. Those skilled in the art will appreciate thatthe claimed subject matter can also be practiced with other computersystem configurations and protocols, where non-limiting implementationdetails are given.

FIG. 16 thus illustrates an example of a suitable computing systemenvironment 1600 in which the claimed subject matter may be implemented,although as made clear above, the computing system environment 1600 isonly one example of a suitable computing environment for a media deviceand is not intended to suggest any limitation as to the scope of use orfunctionality of the claimed subject matter. Further, the computingenvironment 1600 is not intended to suggest any dependency orrequirement relating to the claimed subject matter and any one orcombination of components illustrated in the example operatingenvironment 1600.

With reference to FIG. 16, an example of a remote device forimplementing various aspects described herein includes a general purposecomputing device in the form of a computer 1610. Components of computer1610 can include, but are not limited to, a processing unit 1620, asystem memory 1630, and a system bus 1621 that couples various systemcomponents including the system memory to the processing unit 1620. Thesystem bus 1621 can be any of several types of bus structures includinga memory bus or memory controller, a peripheral bus, and a local bususing any of a variety of bus architectures.

Computer 1610 can include a variety of computer readable media. Computerreadable media can be any available media that can be accessed bycomputer 1610. By way of example, and not limitation, computer readablemedia can comprise computer storage media and communication media.Computer storage media includes volatile and nonvolatile as well asremovable and non-removable media implemented in any method ortechnology for storage of information such as computer readableinstructions, data structures, program modules or other data. Computerstorage media includes, but is not limited to, RAM, ROM, EEPROM, flashmemory or other memory technology, CDROM, digital versatile disks (DVD)or other optical disk storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or any othermedium which can be used to store the desired information and which canbe accessed by computer 1610. Communication media can embody computerreadable instructions, data structures, program modules or other data ina modulated data signal such as a carrier wave or other transportmechanism and can include any suitable information delivery media.

The system memory 1630 can include computer storage media in the form ofvolatile and/or nonvolatile memory such as read only memory (ROM) and/orrandom access memory (RAM). A basic input/output system (BIOS),containing the basic routines that help to transfer information betweenelements within computer 1610, such as during start-up, can be stored inmemory 1630. Memory 1630 can also contain data and/or program modulesthat are immediately accessible to and/or presently being operated on byprocessing unit 1620. By way of non-limiting example, memory 1630 canalso include an operating system, application programs, other programmodules, and program data.

The computer 1610 can also include other removable/non-removable,volatile/nonvolatile computer storage media. For example, computer 1610can include a hard disk drive that reads from or writes tonon-removable, nonvolatile magnetic media, a magnetic disk drive thatreads from or writes to a removable, nonvolatile magnetic disk, and/oran optical disk drive that reads from or writes to a removable,nonvolatile optical disk, such as a CD-ROM or other optical media. Otherremovable/non-removable, volatile/nonvolatile computer storage mediathat can be used in the exemplary operating environment include, but arenot limited to, magnetic tape cassettes, flash memory cards, digitalversatile disks, digital video tape, solid state RAM, solid state ROMand the like. A hard disk drive can be connected to the system bus 1621through a non-removable memory interface such as an interface, and amagnetic disk drive or optical disk drive can be connected to the systembus 1621 by a removable memory interface, such as an interface.

A user can enter commands and information into the computer 1610 throughinput devices such as a keyboard or a pointing device such as a mouse,trackball, touch pad, and/or other pointing device. Other input devicescan include a microphone, joystick, game pad, satellite dish, scanner,or the like. These and/or other input devices can be connected to theprocessing unit 1620 through user input 1640 and associated interface(s)that are coupled to the system bus 1621, but can be connected by otherinterface and bus structures, such as a parallel port, game port or auniversal serial bus (USB). A graphics subsystem can also be connectedto the system bus 1621. In addition, a monitor or other type of displaydevice can be connected to the system bus 1621 via an interface, such asoutput interface 1650, which can in turn communicate with video memory.In addition to a monitor, computers can also include other peripheraloutput devices, such as speakers and/or a printer, which can also beconnected through output interface 1650.

The computer 1610 can operate in a networked or distributed environmentusing logical connections to one or more other remote computers, such asremote computer 1670, which can in turn have media capabilitiesdifferent from device 1610. The remote computer 1670 can be a personalcomputer, a server, a router, a network PC, a peer device or othercommon network node, and/or any other remote media consumption ortransmission device, and can include any or all of the elementsdescribed above relative to the computer 1610. The logical connectionsdepicted in FIG. 16 include a network 1671, such local area network(LAN) or a wide area network (WAN), but can also include othernetworks/buses. Such networking environments are commonplace in homes,offices, enterprise-wide computer networks, intranets and the Internet.

When used in a LAN networking environment, the computer 1610 isconnected to the LAN 1671 through a network interface or adapter. Whenused in a WAN networking environment, the computer 1610 can include acommunications component, such as a modem, or other means forestablishing communications over the WAN, such as the Internet. Acommunications component, such as a modem, which can be internal orexternal, can be connected to the system bus 1621 via the user inputinterface at input 1640 and/or other appropriate mechanism. In anetworked environment, program modules depicted relative to the computer1610, or portions thereof, can be stored in a remote memory storagedevice. It should be appreciated that the network connections shown anddescribed are exemplary and other means of establishing a communicationslink between the computers can be used.

Turning now to FIG. 17, an overview of a network environment in whichthe claimed subject matter can be implemented is illustrated. Theabove-described systems and methodologies for timing synchronization maybe applied to any wireless communication network; however, the followingdescription sets forth an exemplary, non-limiting operating environmentfor said systems and methodologies. The below-described operatingenvironment should be considered non-exhaustive, and thus thebelow-described network architecture is merely an example of a networkarchitecture into which the claimed subject matter can be incorporated.It is to be appreciated that the claimed subject matter can beincorporated into any now existing or future alternative architecturesfor communication networks as well.

FIG. 17 illustrates various aspects of the global system for mobilecommunication (GSM). GSM is one of the most widely utilized wirelessaccess systems in today's fast growing communications systems. GSMprovides circuit-switched data services to subscribers, such as mobiletelephone or computer users. General Packet Radio Service (“GPRS”),which is an extension to GSM technology, introduces packet switching toGSM networks. GPRS uses a packet-based wireless communication technologyto transfer high and low speed data and signaling in an efficientmanner. GPRS optimizes the use of network and radio resources, thusenabling the cost effective and efficient use of GSM network resourcesfor packet mode applications.

As one of ordinary skill in the art can appreciate, the exemplaryGSM/GPRS environment and services described herein can also be extendedto 3G services, such as Universal Mobile Telephone System (“UMTS”),Frequency Division Duplexing (“FDD”) and Time Division Duplexing(“TDD”), High Speed Packet Data Access (“HSPDA”), cdma2000 1x EvolutionData Optimized (“EVDO”), Code Division Multiple Access-2000 (“cdma20003x”), Time Division Synchronous Code Division Multiple Access(“TD-SCDMA”), Wideband Code Division Multiple Access (“WCDMA”), EnhancedData GSM Environment (“EDGE”), International MobileTelecommunications-2000 (“IMT-2000”), Digital Enhanced CordlessTelecommunications (“DECT”), etc., as well as to other network servicesthat shall become available in time. In this regard, the timingsynchronization techniques described herein may be applied independentlyof the method of data transport, and does not depend on any particularnetwork architecture or underlying protocols.

FIG. 17 depicts an overall block diagram of an exemplary packet-basedmobile cellular network environment, such as a GPRS network, in whichthe claimed subject matter can be practiced. Such an environment caninclude a plurality of Base Station Subsystems (B SS) 1700 (only one isshown), each of which can comprise a Base Station Controller (BSC) 1702serving one or more Base Transceiver Stations (BTS) such as BTS 1704.BTS 1704 can serve as an access point where mobile subscriber devices1750 become connected to the wireless network. In establishing aconnection between a mobile subscriber device 1750 and a BTS 1704, oneor more timing synchronization techniques as described supra can beutilized.

In one example, packet traffic originating from mobile subscriber 1750is transported over the air interface to a BTS 1704, and from the BTS1704 to the BSC 1702. Base station subsystems, such as BSS 1700, are apart of internal frame relay network 1710 that can include Service GPRSSupport Nodes (“SGSN”) such as SGSN 1712 and 1714. Each SGSN is in turnconnected to an internal packet network 1720 through which a SGSN 1712,1714, etc., can route data packets to and from a plurality of gatewayGPRS support nodes (GGSN) 1722, 1724, 1726, etc. As illustrated, SGSN1714 and GGSNs 1722, 1724, and 1726 are part of internal packet network1720. Gateway GPRS serving nodes 1722, 1724 and 1726 can provide aninterface to external Internet Protocol (“IP”) networks such as PublicLand Mobile Network (“PLMN”) 1745, corporate intranets 1740, orFixed-End System (“FES”) or the public Internet 1730. As illustrated,subscriber corporate network 1740 can be connected to GGSN 1722 viafirewall 1732; and PLMN 1745 can be connected to GGSN 1724 via boardergateway router 1734. The Remote Authentication Dial-In User Service(“RADIUS”) server 1742 may also be used for caller authentication when auser of a mobile subscriber device 1750 calls corporate network 1740.

Generally, there can be four different cell sizes in a GSMnetwork—macro, micro, pico, and umbrella cells. The coverage area ofeach cell is different in different environments. Macro cells can beregarded as cells where the base station antenna is installed in a mastor a building above average roof top level. Micro cells are cells whoseantenna height is under average roof top level; they are typically usedin urban areas. Pico cells are small cells having a diameter is a fewdozen meters; they are mainly used indoors. On the other hand, umbrellacells are used to cover shadowed regions of smaller cells and fill ingaps in coverage between those cells.

The word “exemplary” is used herein to mean serving as an example,instance, or illustration. For the avoidance of doubt, the subjectmatter disclosed herein is not limited by such examples. In addition,any aspect or design described herein as “exemplary” is not necessarilyto be construed as preferred or advantageous over other aspects ordesigns, nor is it meant to preclude equivalent exemplary structures andtechniques known to those of ordinary skill in the art. Furthermore, tothe extent that the terms “includes,” “has,” “contains,” and othersimilar words are used in either the detailed description or the claims,for the avoidance of doubt, such terms are intended to be inclusive in amanner similar to the term “comprising” as an open transition wordwithout precluding any additional or other elements.

The aforementioned systems have been described with respect tointeraction between several components. It can be appreciated that suchsystems and components can include those components or specifiedsub-components, some of the specified components or sub-components,and/or additional components, and according to various permutations andcombinations of the foregoing. Sub-components can also be implemented ascomponents communicatively coupled to other components rather thanincluded within parent components (hierarchical). Additionally, itshould be noted that one or more components may be combined into asingle component providing aggregate functionality or divided intoseveral separate sub-components, and that any one or more middle layers,such as a management layer, may be provided to communicatively couple tosuch sub-components in order to provide integrated functionality. Anycomponents described herein may also interact with one or more othercomponents not specifically described herein but generally known bythose of skill in the art.

In view of the exemplary systems described supra, methodologies that maybe implemented in accordance with the described subject matter will bebetter appreciated with reference to the flowcharts of the variousfigures. While for purposes of simplicity of explanation, themethodologies are shown and described as a series of blocks, it is to beunderstood and appreciated that the claimed subject matter is notlimited by the order of the blocks, as some blocks may occur indifferent orders and/or concurrently with other blocks from what isdepicted and described herein. Where non-sequential, or branched, flowis illustrated via flowchart, it can be appreciated that various otherbranches, flow paths, and orders of the blocks, may be implemented whichachieve the same or a similar result. Moreover, not all illustratedblocks may be required to implement the methodologies describedhereinafter.

In addition to the various embodiments described herein, it is to beunderstood that other similar embodiments can be used or modificationsand additions can be made to the described embodiment(s) for performingthe same or equivalent function of the corresponding embodiment(s)without deviating therefrom. Still further, multiple processing chips ormultiple devices can share the performance of one or more functionsdescribed herein, and similarly, storage can be effected across aplurality of devices. Accordingly, no single embodiment shall beconsidered limiting, but rather the various embodiments and theirequivalents should be construed consistently with the breadth, spiritand scope in accordance with the appended claims.

APPENDIX A Proof of Theorem I

Given an aggregate CSI H=(H^(SD), H^(RD), H^(SD)) in a fading block, thefollowing three cases can happen.

Case 1) I(x; y|x¹, H^(SD), H^(SR), H^(RD), S)≧I(x; y¹|x¹, H^(SD),H^(SR), H^(RD), S)

In this case, the destination can always decode before the relay. As aresult, no relay is needed and the achievable rate is given by themutual information between the transmitted symbols x at the source nodeand the received symbols y at the destination node, I(x; y|x¹, H^(SD),H^(SR), H^(RD), S)=logdet(I+H^(SD)SQ(H^(SD)S)^(H)), where the Gaussiancode is applied and Q=SNR·I since uniform power allocation is assumed.Recalling the definition of S_(A) provided above, this expression can befurther simplified into a scalar value, given by Σ_(iεS) _(A)log(1+|h_(i) ^(SD)|²SNR), where h_(i) ^(SD) denotes the fadingcoefficient of i-th subcarrier in the SD link.

Case 2) I(x; y|x¹, H^(SD), H^(SR), H^(RD), S)<I(x; y¹|x¹, H^(SD),H^(SR), H^(RD), S) and

I(x; y¹|x¹, H^(SD), H^(SR), H^(RD), S)≦I(x, x¹; y¹|H^(SD), H^(SR),H^(RD), S)

In this case, as shown in FIG. 10, the relay can help to decode and thebottleneck of the transmission becomes the SR link. Therefore, by themax-flow-min-cut theorem, the achievable rate is limited by the SR link.To be more specific, it is bounded by the mutual information between thetransmitted symbols x and the received symbols y¹ at the relay node,I(x; y¹|x¹, H^(SD), H^(SR), H^(RD), S)=logdet(I+H^(SR)SQ(H^(SR)S)^(H)).Following the same reasoning, the achievable rate can be expressed asΣ_(iεS) _(A) log(1+|h_(i) ^(SR)|²SNR) and h_(i) ^(SR) corresponds to thefading coefficient of the i-th subcarrier in the SR link.

Case 3) I(x; y|x¹, H^(SD), H^(SR), H^(RD), S)<I(x; y¹|x¹, H^(SD),H^(SR), H^(RD), S) and

I(x; y¹|x¹, H^(SD), H^(SR), H^(RD), S)>I(x, x¹; y¹|H^(SD), H^(SR),H^(RD), S)

In this case as shown in FIG. 11, the relay can help to decode and thebottleneck of the transmission is the source plus relay to thedestination channel. If the stack size at the relay node d is allowed tobe sufficiently large, the relay will always transmit. Therefore, theachievable rate is the mutual information received at the destinationnode (including the information transmitted from the source and therelay),

I(x, x¹; y|H^(SD), H^(SR), H^(RD),S)=logdet(I+H^(SD)SQ(H^(SD)S)^(H))+logdet(I+H^(RD) SQ(H^(RD) S)^(H)).

Applying the same procedure, the achievable rate can be expressed as:

${{\sum\limits_{i \in S_{A}}{\log ( {1 + {{h_{i}^{SD}}^{2}{SNR}}} )}} + {\sum\limits_{j \in S_{A}^{C}}{\log ( {1 + {{h_{j}^{RD}}^{2}{SNR}}} )}}},$

where h_(i) ^(SD) and h_(j) ^(RD) denote the fading coefficients of i-thsubcarrier in the SD link and j-th subcarrier in the RD link,respectively.

APPENDIX B Proof of Lemma 1

From basic probability theory, h(λ, H^(SD), H^(RD)) can be transformedas follows to Equation (29).

h(λ,H ^(SD) ,H ^(RD))=λ^(T) C ^(SD) E _(H) _(SR) [I(λ^(T) C ^(SD)≧λ^(T)C ^(SR))]+E _(H) _(SR) [λ^(T) C ^(SR) I(λ^(T) C ^(SD)<λ^(T) C^(SR)<λ^(T) C ^(SD)+(1−λ)^(T) C ^(RD))]+(λ^(T) C ^(SD)+(1−λ)^(T) C^(RD))E _(H) _(SR) [I(λ^(T) C ^(SR)≧λ^(T) C ^(SD)+(1−λ)^(T) C^(RD))]=λ^(T) C ^(SD) P _(λ) _(T) _(C) _(SR) (λ^(T) C ^(SD))+E _(H)_(SR) [λ^(T) C ^(SR)|λ^(T) C ^(SD)>λ^(T) C ^(SR)>λ^(T) C ^(SD)+(1−λ)^(T)C ^(RD)]+(λ^(T) C ^(SD)+(1−λ)^(T) C ^(RD))(1−P _(λ) _(T) _(C) _(SR)(λ^(T) C ^(SD)+(1−λ)^(T) C ^(RD)))  (29)

where I(.) denotes the indicator function and P_(x)(.) denotes thecumulative distribution function (c.d.f.) of the corresponding randomvariable x.

Let y_(i)=λ_(i)C_(i) ^(SR) and y=λ^(T)C^(SR)=Σ_(i=1) ^(n) ^(F) y_(i).The p.d.f. of the random variable y_(i) and its correspondingcharacteristic function are given by Equations (30) and (31):

$\begin{matrix}\begin{matrix}{{p_{y_{i}}( y_{i} )} = {P_{y_{i}}^{\prime}( y_{i} )}} \\{= {P_{y_{i}}^{\prime}( {{\lambda_{i}{\log ( {1 + {{SNR}{h_{i}^{SR}}^{2}}} )}} \leq y_{i}} )}} \\{= {P_{y_{i}}^{\prime}( {{h_{i}^{SR}}^{2} \leq \frac{^{\frac{y_{i}\ln \; 2}{\lambda_{i}}} - 1}{SNR}} )}} \\{= ( {1 - ^{- \frac{{\; \frac{y_{i}\ln \; 2}{\lambda_{i}}} - 1}{\sigma_{SR}^{2}{SNR}}}} )^{\prime}} \\{= {\frac{\ln \; 2}{\lambda_{i}}^{\frac{1}{\sigma_{SR}^{2}{SNR}}}^{{- ^{\frac{{y_{i}\ln \; 2} - {\lambda_{i}{\ln {({\sigma_{SR}^{2}{SNR}})}}}}{\lambda_{i}}}} + \frac{{y_{i}\ln \; 2} - {\lambda_{i}{\ln {({\sigma_{SR}^{2}{SNR}})}}}}{\lambda_{i}}}}}\end{matrix} & (30) \\\begin{matrix}{{\Phi_{i}(\omega)} = {\int_{- \infty}^{\infty}{{p_{y_{i}}( y_{i} )}^{{j\omega}\; y_{i}}{y_{i}}}}} \\{= {{\Gamma ( {1 + {{j\omega}\frac{\lambda_{i}}{\ln \; 2}}} )}^{{j\omega\lambda}_{i}{\log_{2}{({\sigma_{SR}^{2}{SNR}})}}}}}\end{matrix} & (31)\end{matrix}$

where σ_(SR) ² is the variance of the random variable and h_(i) ^(SR)and Γ(.) denotes the Gamma Function. Because of the independency of therandom variables y₁, y₂, . . . y_(n) _(F) , the characteristic functionof the random variable y is the product of each random variable y_(i)and given by Equation (32):

$\begin{matrix}{{\Phi (\omega)} = {{\prod\limits_{i = 1}^{n_{P}}\lbrack {\Phi_{i}(\omega)} \rbrack} = {\prod\limits_{i = 1}^{n_{P}}\lbrack {{\Gamma ( {1 + {{j\omega}\frac{\lambda_{i}}{\ln \; 2}}} )}^{{j\omega\lambda}_{i}{\log_{2}{({\sigma_{SR}^{2}{SNR}})}}}} \rbrack}}} & (32)\end{matrix}$

To find the p.d.f. of the random variable y, the Inverse FourierTransform of the characteristic function Φ(ω) is taken to obtainEquation (33):

$\begin{matrix}{{p_{y}(y)} = {{F^{- 1}\lbrack {\Phi (\omega)} \rbrack} = {\frac{1}{2\pi}{\int_{- \infty}^{\infty}{{\Phi (\omega)}^{{- {j\omega}}\; y}{\omega}}}}}} & (33)\end{matrix}$

Thus, Equation (29) can be evaluated as:

h(λ,H ^(SD) ,H ^(RD))=λ^(T) C ^(SD)∫₀ ^(λ) ^(T) ^(C) ^(SD) p _(y)(y)dy+∫_(λ) _(T) _(C) _(SD) ^(λ) ^(T) ^(C) ^(SD) ^(+(1−λ)) ^(T) ^(C) ^(RD) yp_(y)(y)dy+(λ^(T) C ^(SD)+(1−λ)^(T) C ^(RD))∫_(λ) _(T) _(C) _(SD)_(+(1−λ)) _(T) _(C) _(RD) p _(y)(y)dy  (34)

APPENDIX C Proof of Lemma 2

Recall that a vector f is a subgradient of g(λ) in λ, if for all λ′

g(λ′)≧g(λ)+f ^(T)(λ′−λ).  (35)

By definition,

$\begin{matrix}{{g(\lambda)} = \{ \begin{matrix}{{\lambda^{T}C^{SD}},} & {{for}\mspace{14mu} {Case}\mspace{14mu} 1} \\{{\lambda^{T}C^{SR}},} & {{for}\mspace{14mu} {Case}\mspace{14mu} 2a} \\{{{\lambda^{T}( {C^{SD} - C^{RD}} )} + {1^{T}C^{RD}}},} & {{for}\mspace{14mu} {Case}\mspace{14mu} 2b}\end{matrix} } & (36)\end{matrix}$

For case 1,

g (λ′)=λ′C^(SD)=λC^(SD)+(λ′−λ)^(T)C^(SD)≧g(λ)+(C^(SD))^(T)(λ′−λ), thusverifying the definition of subgradient (35).

For case

2a, g (λ′)=λ′C^(SR)=λC^(SR)+(λ′−λ)^(T)C^(SR)≧g(λ)+(C^(SR))^(T)(λ′−λ),thus matching the definition of subgradient (35).

For case 2b,g(λ′)=λ′^(T)(C^(SD)−C^(RD))+1^(T)C^(RD)=λ^(T)(C^(SD)−C^(RD))+1^(T)C^(RD)+(λ′−λ)^(T)(C^(SD)−C^(RD))≧g(λ)+(λ′−λ)^(T)(C^(SD)−C^(RD)),thus satisfying the definition of subgradient (35).

Combining the three cases, Lemma 2 is demonstrated.

1. A device, comprising: a memory that stores computer-executablecomponents; a processor, communicatively coupled to the memory, thatfacilitates execution of the computer-executable components, thecomputer-executable components including: a wireless communicationscomponent configured to communicate with a source node via a first linkand configured to communicate with a relay node via a second link; and adecoder component configured to decode a current message transmitted bythe source node in response to a determination that the decodercomponent is able to decode the current message before the relay node.2. The device of claim 1, wherein the wireless communications componentis configured to communicate with the source node and the relay nodebased at least in part on Acknowledged/Not Acknowledged (ACK/NAK)exchanges.
 3. The device of claim 2, wherein the computer-executablecomponents further comprise: a subcarrier resource allocation componentconfigured to dynamically allocate subcarrier resources based at leastin part on the ACK/NAK exchanges.
 4. The device of claim 1, wherein thedecoder component is configured to decode the current messagetransmitted by the source node based at least in part on transmission ofsymbols of the current message from the source node.
 5. The device ofclaim 1, wherein the decoder component is configured to receive are-encoded message from the relay node in response to a determinationthat the decoder component is not able to decode the current messagebefore the relay node.
 6. The device of claim 1, wherein the wirelesscommunications component is configured to communicate with the sourcenode and the relay node according to a transmission protocol based atleast in part on rateless codes.
 7. The device of claim 1, wherein athird link between the source node and the relay node is unavailable tothe wireless communications component.
 8. A method, comprising:receiving, by a system including a processor, a current message from asource node according to a transmission protocol; determining, by thesystem, whether the current message is decodable; and decoding, by thesystem, the current message in response to a determination that thecurrent message is able to be decoded before a relay node.
 9. The methodof claim 8, further comprising: transmitting, by the system, a requestmessage for the relay node to decode the current message in response tothe determination that the current message is able to be decoded beforethe relay node.
 10. The method of claim 9, further comprising:receiving, by the system, a re-encoded message from the relay node. 11.The method of claim 8, further comprising: decoding, by the system, thecurrent message based on information received from the source node andthe relay node.
 12. The method of claim 8, further comprising:transmitting, by the system, an acknowledgment message to the sourcenode in response to the decoding.
 13. A device, comprising: a memorythat stores computer-executable components; a processor, communicativelycoupled to the memory, that facilitates execution of thecomputer-executable components, the computer-executable componentsincluding: a wireless communications component configured to communicatewith a source node via a first link and configured to communicate with adestination node via a second link; and a decoder component configuredto decode a current message transmitted by the source node in responseto a message received from the destination node indicating that thedestination node is not able to decode the current message.
 14. Thedevice of claim 13, wherein the message is an Acknowledged/NotAcknowledged (ACK/NAK) message.
 15. The device of claim 13, wherein thewireless communications component is configured to receive one or moresymbols of the current message transmitted by the source node.
 16. Thedevice of claim 13, wherein the wireless communications component isconfigured to transmit an acknowledge message to the destination node inresponse a determination that the current message is decodable.
 17. Acomputer readable storage medium comprising computer-executableinstruction that, in response to execution, cause a system including atleast one processor to perform operations, comprising: receiving symbolsof a current message transmitted according to a wireless transmissionprotocol; transmitting an acknowledge message to a destination node inresponse a determination that the current message is decodable; anddecoding the current message to generate a decoded message in responseto receiving a message from the destination node indicating that thedestination node is not able to decode the current message.
 18. Thecomputer readable storage medium of claim 17, the operations furthercomprising storing the decoded message.
 19. The computer readablestorage medium of claim 17, the operations further comprisingre-encoding the decoded message to generate a re-encoded message. 20.The computer readable storage medium of claim 17, the operations furthercomprising transmitting the re-encoded message to the destination node.21. A system, comprising: a destination node, including a processor anda memory, configured to receive at least part of a current message froma source node; and a relay node configured to receive at least part ofthe current message from the source node, wherein the relay node isconfigured decode at least part of the current message to generate adecoded message in response to a determination that the destination nodeis not able to decode the current message before the relay node.
 22. Thesystem of claim 21, wherein the destination node is configured to decodeat least part of the current message in response to a determination thatthe destination node is able to decode the current message before therelay node.
 23. The system of claim 22, wherein the destination nodetransmits an acknowledgment message to the source node in response tothe determination that the destination node is able to decode thecurrent message before the relay node.
 24. The system of claim 22,wherein the relay node is configured to re-encode the decoded message togenerate a re-encoded message.
 25. The system of claim 24, wherein thedestination node is configured to receive the re-encoded message fromthe relay node.